test("Plugin Creation",function(){
	
	expect(17);
	
	// abstract the name of the plugin
	var plugin = "plugin_test1", 
	$div = jQuery('<div/>');
	
	// check the expected extended functions
	ok( !jQuery[ plugin ], "plugin static function is not defined" );
	ok( !jQuery([])[ plugin ], "jquery method is not defined" );
	ok( !jQuery.expr[":"][ plugin ], "plugin selector is not defined" );
	
	// create a new plugin
	ok( !jQuery.ux(), "zero arguments fails");
	ok( !jQuery.ux( plugin ), "no config object fails");
	ok( !jQuery.ux( 123, {}), "non-string plugin name fails");
	ok( jQuery.ux( plugin, {}), "plugin created successfully");
	ok( !jQuery.ux( plugin, {}), "plugin cannot be created again");
	
	// check the expected extended functions
	ok( jQuery[ plugin ], "plugin static function is defined" );
	ok( jQuery([])[ plugin ], "jquery method is defined" );
	ok( jQuery.expr[":"][ plugin ], "plugin selector is defined" );
	
	// check that an instance can be created
	ok( $div[ plugin ]().is(":ux"), "plugin instance created");
	
	// check that an instance can be destroyed
	ok( jQuery.ux( plugin, false ), "plugin destroyed successfully");
	ok( !$div.is(":ux"), "plugin instance was also destroyed");
	
	ok( !jQuery[ plugin ], "plugin static function is not defined" );
	ok( !jQuery([])[ plugin ], "jquery method is not defined" );
	ok( !jQuery.expr[":"][ plugin ], "plugin selector is not defined" );
	
	
	});